#include <dirent.h>
#include <stdio.h>

//struct dirent
//{
//   long d_ino; /* inode number 索引节点号 */
//   off_t d_off; /* offset to this dirent 在目录文件中的偏移 */
//   unsigned short d_reclen; /* length of this d_name 文件名长 */
//   unsigned char d_type; /* the type of d_name 文件类型 */
//   char d_name [NAME_MAX+1]; /* file name (null-terminated) 文件名，最长255字符 */
//}
 
int main() 
{
    DIR *dir;
    struct dirent *entry;
    
    // 打开目录
    dir = opendir(".");

    // 读取目录中的文件和子目录
    while ((entry = readdir(dir)) != NULL) {
        // 获取文件或目录的名称
        printf("name:%s, nameLen:%d, offset:%ld\n",
				entry->d_name, entry->d_reclen, entry->d_off);
    }
    
    // 关闭目录
    closedir(dir);
    
    return 0;
}
